(((kind "manual-section") (section-title "The fac and fib functions.") (section-body "
")) ((kind "manual-page") (parameters (parameter "n" "An integer")) (description "Calculate the factorial of n.") (pre-condition "The integer must be non-negative.") (returns "n!") (title "fac") (form (fac n))) ((kind "manual-page") (parameters (parameter "n" "An integer")) (description "Calculated the fib function.
Notice that this is a very <em>inefficient</em>
implementation.") (pre-condition "The integer must be non-negative.") (returns "The n't fiabonaci number.") (title "fib") (form (fib n))) ((kind "manual-section") (section-title "A couple of higher order function.") (section-body "These functions are useful in many situations.

")) ((kind "manual-page") (parameters (parameter "p" "a predicate - p: type -> boolean for any type.")) (description "A higher order functions which negates the predicate p. 
Negate accepts a predicate and returns the negated predicate.") (returns "A predicate that returns the negated value. Thus (not ((negate p) x)) = (p x) for all x.") (title "negate") (form (negate p))) ((kind "manual-page") (parameters (parameter "f" "A function of a single parameter.") (parameter "g" "A function of a singe parameter.")) (description "A higher order function that composes two functions.
Returns a function which applies f on g.
Both f and g are supposed to take a single argument.") (returns "f &#176; g") (title "compose") (form (compose f g))) ((kind "manual-section") (section-title "List selector functions.") (section-body "The functions in this category are alternatives for car, cadr, etc.

")) ((kind "manual-page") (parameters (parameter "lst" "A list")) (description "Return the first element of a list") (form "(first lst)") (returns "the first element of the list") (title "first")) ((kind "manual-page") (parameters (parameter "lst" "A list")) (description "Return the second element of a list") (form "(second lst)") (returns "the second element of the list") (title "second")))